package br.com.trumah.managedbean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.trumah.dao.impl.UsuarioDAOImpl;
import br.com.trumah.dao.interfaces.UsuarioDAO;
import br.com.trumah.model.Usuario;

@ManagedBean(name="usuarioManagedbean")
@SessionScoped
public class UsuarioManagedbean {

	private UsuarioDAOImpl usuarioDAO = new UsuarioDAOImpl();
	private Usuario usuario = new Usuario();
	private List<Usuario> usuarios = new ArrayList<Usuario>();
	private Usuario selecionado;
	
	public UsuarioManagedbean() {
		super();
	}
	
	public String efetuaLogin(){
		UsuarioDAO dao = new UsuarioDAOImpl();
		boolean loginValido = dao.existe(usuario);
		
		if (loginValido) {
			
			return "home?faces-redirect=true";
			
		} else {
			usuario = new Usuario();
			return "login";
		}
	}

	public String salvar(){
		usuarioDAO.salvar(getUsuario());
		todos();
		return null;
	}
	
	public String alterar(){
		usuarioDAO.atualizar(getSelecionado());
		return null;
	}
	
	public List<Usuario> todos(){
		usuarios = usuarioDAO.listar();
		return usuarios;
	}
	
	public String excluir(){
		usuarioDAO.remover(getSelecionado());
		todos();
		return null;
	}

	public UsuarioDAOImpl getUsuarioDAO() {
		return usuarioDAO;
	}

	public void setUsuarioDAO(UsuarioDAOImpl usuarioDAO) {
		this.usuarioDAO = usuarioDAO;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public List<Usuario> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public Usuario getSelecionado() {
		return selecionado;
	}

	public void setSelecionado(Usuario selecionado) {
		this.selecionado = selecionado;
	}
	
}
